草稿可以在雲端和我的電腦之間來回了,接下來要處理的是發布:我要怎麼告訴 Macaron,這一篇什麼時候發?
我平常跟自己的 AI 助理相處,就是在 Discord 上出一張嘴,記帳、報體重都是講一句話就好,所以我很自然地希望,發布占卜也能這樣。在管理頻道裡這篇占卜的討論串,說一句「9/8 晚上 8 點發布」,事情就交代完了,不用另外去背一串指令格式。
這句話對人來說很簡單,但對程式來說,裡面藏著好幾個它不能猜的地方。
第一個不能猜的,是「這篇」到底是哪一篇。這句話裡沒有寫占卜的編號,所以 Macaron 會看它是在哪一個討論串裡說的,每一個討論串都綁著一篇確定的占卜,只要指令指向的占卜跟討論串綁的不一樣,就直接停下來。
說話的人也照前面幾天的規矩:必須是我本人,而且要在指定的管理伺服器、指定的管理頻道裡說,才算數。
第二個不能猜的,是這句話本身。我沒有讓 Macaron 去理解所有的人話,這一段也沒有用 AI,它只聽得懂三種說法:
多一個時間、少一個字、前後多了空白,或者換一種講法,都會被拒絕。這聽起來很不方便,但好處是它聽得懂的就一定真的懂,聽不懂的就直接說聽不懂,不會把一句模稜兩可的話,猜成一個錯的時間。
我覺得最能看出這個態度的,是「晚上」後面只接受 1 點到 11 點。晚上 12 點到底是今天的開始,還是今天的結尾,每個人的理解都不太一樣,所以 Macaron 乾脆不接受,請我換一種不會誤會的說法。
第三個不能猜的,是年份。「9/8」沒有寫年份,Macaron 就用現在這一年,這個大家應該都能接受。但有一種情況它不會幫我猜:跨年。
假設現在是 12 月 31 日,我說「1/1 晚上 8 點發布」,我心裡想的多半是明年,但 Macaron 不會替我這樣假設,它會說這個時間已經過了,如果要跨年,請把年份寫出來。就算年份寫得很清楚,只要排定的時間已經過了,或者剛好就是現在,也一樣會被擋下來,只有「現在發布」可以剛好等於現在。
另外還有一條時間的先後:Macaron 用來判斷「現在」的那個時間,不能早於我說這句話的時間,兩個時間在不同時區的話,就換算成同一個時刻再比。最後所有的時間,都會統一換成台北時間。
Day 20 到這裡就停了。它只負責把一句話變成一個確定、而且每次重播都一樣的時間,發布的內容還沒凍結,排程也還沒有建立,更沒有真的發出去。
(需作者補充:你自己平常怎麼跟 Macaron 或其他助理下發布類的指令?有沒有因為說法太隨意而被誤會過?)
時間定好了,但還有一個問題:從我說「9/8 晚上 8 點發布」到真的晚上 8 點,中間可能隔了好幾天,這段時間草稿如果又被改了,到時候要發的,到底是哪一份?